package String;

/**
 * 给定一个字符串，逐个翻转字符串中的每个单词。
 *
 * 示例 1：
 * 输入: "the sky is blue"
 * 输出: "blue is sky the"
 */
public class ReverseWords {
    public static void main(String[] args) {
        String s1="the sky is blue";
        ReverseWords solution = new ReverseWords();
        System.out.println(solution.reverseWords(s1));
    }
    public String reverseWords(String s){
        //注意先去除字符串两端空格，然后再split，不然分割出的结果两端有空字符串
        String[] splitString = s.trim().split(" ");
        StringBuilder answer=new StringBuilder();
        for(int i=splitString.length-1;i>=0;i--){
            if(splitString[i].isEmpty()){
                continue;
            }
            answer.append(splitString[i]);
            if(i>0){
                answer.append(" ");
            }
        }
        return answer.toString();
    }
    //反转一个单词中的字母：blue->eulb
//    public char[] reverseSingleWord(String s){
//        char[] c=s.toCharArray();
//        int left=0;
//        int right=c.length-1;
//        while(left<right){
//            char temp=c[left];
//            c[left]=c[right];
//            c[right]=temp;
//            left++;
//            right--;
//        }
//        return c;
//    }
}
